home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 April / Macworld (1999-04).dmg / Serious Software / GrooveMaker demo / GrooveMaker Demo / Media / Synth.dxr / 00188_Field_buttare1.txt < prev    next >
Text File  |  1998-07-27  |  4KB  |  119 lines

  1. on createGlobalVariable
  2.   global gFirstSynth,gLastSynth,gLastSprite
  3.   
  4.   -- gFirstSynth √® il primo synth che vedo, gLastSynth √® l'ultimo
  5.   -- gLastSprite √® la sprite in cui si trova l'ultimo synth marcato
  6.   -- se il primo marker √® pieno
  7.   if the name of member the memberNum of sprite 68 <> "m" then
  8.     set gFirstSynth = integer(the name of member the memberNum of sprite 68)
  9.     set gLastSynth = integer(the name of member the memberNum of sprite 68)
  10.     set gLastSprite = 68
  11.     repeat with i = 69 to 73
  12.       if the name of member the memberNum of sprite i = "m" then exit repeat
  13.       set gLastSynth = integer(the name of member the memberNum of sprite i)
  14.       set gLastSprite = i
  15.     end repeat
  16.     -- se il primo marker √® vuoto
  17.   else
  18.     set gFirstSynth = 0
  19.     set gLastSynth = 0
  20.     set gLastSprite = 67
  21.   end if
  22. end
  23.  
  24. -------------------------------------------------------------------------------
  25.  
  26. on handleSprite
  27.   global gPosVolSynth,gPosPanSynth
  28.   
  29.   -- si posizionano il volume e il pan
  30.   set the locV of sprite 45 to gPosVolSynth
  31.   set the locV of sprite 46 to gPosPanSynth
  32.   updateStage
  33.   
  34.   -- fieldElencoSynthSalvati
  35.   repeat with i = 76 to 79
  36.     set the visible of sprite i to false
  37.   end repeat
  38.   
  39.   -- sprite con i numeri dei synth marcati
  40.   repeat with i = 68 to 73
  41.     puppetSprite i,true
  42.   end repeat
  43. end
  44.  
  45. -------------------------------------------------------------------------------
  46.  
  47. on createList
  48.   global posRectList
  49.   
  50.   set posRectList = []
  51.   repeat with i = 68 to 73
  52.     set temp = [the loc of sprite i,the rect of sprite i]
  53.     append posRectList,temp
  54.   end repeat
  55. end
  56. ****************************************************************
  57. -- arrivo a questa funzione cliccando su una nota, passo alla funzione l'ottava a cui appartiene la nota
  58. on playNote oct
  59.   global gProg,gArp,gOnSynth,gPosVolSynth,gPosPanSynth,gSynthSel
  60.   global progList,arpList,synthList
  61.   
  62.   put the name of member the memberNum of sprite the clickOn into nota
  63.   
  64.   -- non √® in play, si accende
  65.   if char 1 of nota <> "y" then  
  66.     
  67.     set Gnota = "y" & nota
  68.     set the memberNum of sprite the clickOn to the number of member Gnota
  69.     updatestage
  70.     
  71.     -- aggiorno la sequenza
  72.     append synthList,nota & oct
  73.     
  74.   else   -- √® in play, si spegne
  75.     
  76.     set nota = chars(nota,2,length(nota))
  77.     set the memberNum of sprite the clickOn to the number of member nota
  78.     updatestage
  79.     
  80.     deleteAt synthList,getPos(synthList,nota & oct)
  81.   end if  
  82.   
  83.   -- se ho tolto l'ultimo nota si spegne il synth
  84.   if synthList = [] then
  85.     set gOnSynth = 0
  86.     IKSynthStop
  87.   else
  88.     if not gOnSynth then set gOnSynth = 1  
  89.     -- aggiorno il play 
  90.     -- calcolo arp
  91.     case(getPos(arpList,gArp)) of
  92.       1,2,3,4:set arp = integer(chars(gArp,3,length(gArp)))/4
  93.       otherwise
  94.         set arp = 4
  95.     end case 
  96.     
  97.     -- vol e pan
  98.     IKSynthVolume integer(128*(-gPosVolSynth+54)/45)
  99.     IKSynthPan integer(128*(-gPosPanSynth+54)/45)
  100.     IKSynthArp getPos(progList,gProg)-1,arp,createSeq()
  101.   end if
  102.   
  103.   -- se c'√® l'hilite intorno ai marker sparisce
  104.   if gSynthSel then 
  105.     set the locH of sprite 74 to -20
  106.     set gSynthSel = 0
  107.   end if
  108. end
  109. ****************************************************************
  110. -- click globale
  111. -- se clicco e c'√® il fieldElencosynthsalvati aperto si chiude
  112. on mouseUp
  113.   if the visible of sprite 76 then
  114.     repeat with i = 76 to 79
  115.       set the visible of sprite i to false
  116.     end repeat
  117.   end if
  118. end
  119.